/***************************************************************************
 创建者：华磊
 开始时间：         : 2020.12.13
 copyright            : (C) 深圳市华友高科有限公司
 修改说明：（每次有修改就添加一条，带有 修改人，修改时间，修改描述）

 2017.02.23　增加TIMAOUT可选功能
 2017.02.24    增加超时时间设置功能

 ***************************************************************************
 *   等待指令属性编辑视窗
*                                                                         *
 ***************************************************************************/
#ifndef WAITCOMMANDVIEW_H
#define WAITCOMMANDVIEW_H

#include "waitcommandview_global.h"
#include <QWidget>
#include <QTranslator>

class ProgramView;

namespace Ui {
class WaitCommandView;
}

/**
 * @brief The WaiCommandView class　等待指令属性编辑视窗
 */
class WAITCOMMANDVIEWSHARED_EXPORT WaitCommandView : public QWidget
{
    Q_OBJECT

public:
    WaitCommandView(int styleId,QWidget *parent = 0);

    /**
     * @brief updateView　更新设置数据到界面控件上
     */
    void updateView();
    /**
     * @brief getInput　获取界面输入数据
     */
    void getInput();

    void initData();

    /**
     * @brief changeLanguage      界面语言切换
     * @param language
     */
    void changeLanguage(int language);

    void initialDisplayStyle(int styleId);

private:
    QTranslator translator;

public:
    ProgramView *programView;
    /**
     * @brief waitInstruction　等待指令
     */
    QString waitCommandInstruction;

    /**
     * @brief note　指令注释
     */
    QString note;

signals:


    /**
     * @brief clearNote　清除指令注释
     */
    void clearNote();
    /**
     * @brief finishEditInstruction　完成指令编辑
     */
    void finishEditInstructionSignal();
    /**
     * @brief saveInstruction　保存指令
     * @param waitInstruction　编辑完成指令
     */
    void saveInstructionSignal(QString waitInstruction);

public slots:
    void finishedEditInstruction_slot();
    void finishedEditInstructionHandle();
private slots:
    /**
     * @brief on_clearNote_Btn_clicked　清除指令注释槽函数
     */
    void on_clearNote_Btn_clicked();

    /**
     * @brief on_forward_Btn_clicked　上一页槽函数
     */
    void on_forward_Btn_clicked();

    /**
     * @brief on_save_Btn_clicked　保存指令槽函数
     */
    void on_save_Btn_clicked();

public:

    int registerIndex;
    /**
     * @brief waitMaxTime 最长等待时间，０则一直等待，单位Ｓ。
     */
    int waitMaxTime;
    /**
     * @brief timeOutLabel 超时跳转标签。
     */
    QString timeOutLabel;

private:
    Ui::WaitCommandView *ui;
};

#endif // CHECKBATTERYVIEW_H
